/**
 * @author [siwi]
 * @email [siwi@siwi.me]
 * @create date 2017-11-18 11:35:41
 * @modify date 2017-11-18 11:35:41
 * @desc [输出格式化时间]
*/
Date.prototype.Format = function (format) {
    const items = {
        "M+": this.getMonth() + 1, //月份 
        "d+": this.getDate(), //日 
        "h+": this.getHours(), //小时 
        "m+": this.getMinutes(), //分 
        "s+": this.getSeconds(), //秒 
        "q+": Math.floor((this.getMonth() + 3) / 3), //季度 
        "S": this.getMilliseconds() //毫秒 
    };
    if (/(y+)/.test(format)) {
        format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length))
    }

    for (let item in items) {
        if (new RegExp("(" + item + ")").test(format)) {
            format = format.replace(RegExp.$1, (RegExp.$1.length == 1) ? (items[item]) : (("00" + items[item]).substr(("" + items[item]).length)));
        }
    }

    return format;
}
class DateHelper {
    constructor() {

    }
    /**
     * 格式化输出时间
     * @param {*} format 'yyyy-MM-dd hh:mm:ss'
     * @param {*} time Date.now()
     */
    async date_format (format, time=false) {
        if (time) {
            return new Date(time).Format(format)
        } else {
            return new Date().Format(format)            
        }
    }
}

module.exports = new DateHelper()